home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 1.6 KB | 53 lines |
- 10 '**********************************************
- 20 '** MESSAGE CENTER **
- 30 '** **
- 40 '** VERSION 1.1 JUNE 5, 1982 **
- 50 '**********************************************
- 60 SCREEN 0 : WIDTH 80 : KEY OFF : CLS
- 70 LOCATE 25,1 : INPUT "ENTER MESSAGE HERE - ";A$ : CLS
- 80 IF LEN(A$) < 30 THEN 120
- 90 B$ = ""
- 100 FOR S = 1 TO 29 : B$ = B$ + MID$(A$,S,1) : NEXT
- 110 A$ = B$
- 120 FOR S = LEN(A$) + 1 TO 29
- 130 A$ = A$ + " "
- 140 NEXT
- 150 DEF SEG = &HF000 ' LAST 64K OF MEMORY MAP
- 160 TABLE = &HFA6E ' LOCATION OF FIRST CHARACTER
- 170 X = 1 : Y = 1 : LOCATE X,Y
- 180 FOR CHARACTER = 1 TO 29 ' FOR EACH CHARACTER
- 190 A = ASC(MID$(A$,CHARACTER,1)) ' GET THE ASCII VALUE
- 200 CODE = TABLE + A * 8 ' POINT INTO THE TABLE
- 210 FOR BYTE = 0 TO 7 ' FOR EACH BYTE
- 220 PATTERN = PEEK (CODE + BYTE)
- 230 LOCATE X,Y
- 240 IF PATTERN < 128 THEN PRINT " ";:GOTO 270
- 250 PRINT CHR$(A);
- 260 PATTERN = PATTERN - 128
- 270 IF PATTERN < 64 THEN PRINT " ";:GOTO 300
- 280 PRINT CHR$(A);
- 290 PATTERN = PATTERN - 64
- 300 IF PATTERN < 32 THEN PRINT " ";:GOTO 330
- 310 PRINT CHR$(A);
- 320 PATTERN = PATTERN - 32
- 330 IF PATTERN < 16 THEN PRINT " ";:GOTO 360
- 340 PRINT CHR$(A);
- 350 PATTERN = PATTERN - 16
- 360 IF PATTERN < 8 THEN PRINT " ";:GOTO 390
- 370 PRINT CHR$(A);
- 380 PATTERN = PATTERN - 8
- 390 IF PATTERN < 4 THEN PRINT " ";:GOTO 420
- 400 PRINT CHR$(A);
- 410 PATTERN = PATTERN - 4
- 420 IF PATTERN < 2 THEN PRINT " ";:GOTO 450
- 430 PRINT CHR$(A);
- 440 PATTERN = PATTERN - 2
- 450 IF PATTERN < 1 THEN PRINT " ";:GOTO 470
- 460 PRINT CHR$(A);
- 470 PATTERN = PATTERN - 1
- 480 X = X + 1
- 490 NEXT BYTE
- 500 X = X - 8 : Y = Y + 8 : IF Y > 75 THEN X = X + 8 : Y = 1
- 510 NEXT CHARACTER
- 520 GOTO 70
-